#ifndef MARBRE_H
#define MARBRE_H

#include "EffetBase.hpp"

/**
 * Classe implémentant les textures marbrées : on fait un mélange de 2
 * couleurs à partir d'un bruit de perlin.
 *
 * @author Johan "Solo" Luisier
 *
 * @date 2010
 */
class Marbre : public EffetBase
{
 public:
  Marbre(const double& refl = 0., const double& trans = 0.,
	 const double& indice = 1., const double& reg = 0.,
	 const std::vector< Couleur >& couleurs =
	 boost::assign::list_of( Couleur( 60, 60, 60 ) )
	 ( Couleur( 12, 120, 120 ) ),
	 const double& coeff = 1.);
  Marbre(const double& refl, const double& trans, const double& indice,
	 const double& reg, const double& bruit,
	 const std::vector< Couleur >& couleurs, const double& coeff);
  ~Marbre();
  Couleur couleur(const Coord&);
  double valeurBruit(const Coord& pt) const;
};

#endif // MARBRE_H
